<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Evento_persona_lst( $this );

	class Evento_persona_lst extends Lst
	{
	function Evento_persona_lst( &$oModule )
		{
			$this->Lst( $oModule );
			$this->oFecha = new DateObject();
			$this->oModAdministracion =& loadModule("administracion");
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'Evento_persona_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			
			$this->setTitle ( "Eventos - Contactos" );
			$this->setSummary( "Esta tabla contiene los contactos de los Eventos" );
			$this->addColumn ( 'Evento' );
			$this->addColumn ( 'Fecha' , '', 'dDesde');
			$this->addColumn ( 'Nombre', '' );
			$this->setColumnAction ( 'Evento', VER_EVENTO, 'ncEvento' );
			$this->setColumnAction ( 'Nombre', VER_PERSONA, 'ncPersona', '', &$this->oModAdministracion );
		}
	function makeColumn ( $aRow, $cField )
	{
		switch( $cField )
		{
			case 'Fecha':
				$cReturn = "";
				$this->oFecha->setValue ( $aRow['dDesde'] );
				if ( $aRow['dDesde'] ) $cReturn = $this->oFecha->getShortDescription() ;
				$this->oFecha->setValue ( $aRow['dHasta'] );
				if ( $aRow['dHasta'] ) $cReturn .=  ' - ' . $this->oFecha->getShortDescription();
				break;
			case 'Evento':
				$cReturn = $aRow['cdEvento'] ;
				if ( $aRow['cSigla'] ) $cReturn .= " ( " . $aRow['cSigla']  . " )";
				break;
			case 'Nombre':
				$cReturn =  $aRow['cApellido'] . ' ' . $aRow['cNombre'] ;
				break;
			default:
					return false;
				break;
		}
		return $cReturn;
	}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT Eve.ncEvento, Eve.cdEvento, Eve.cSigla, Per.cNombre, Per.cApellido, Per.ncPersona, Eve.dDesde, Eve.dHasta
							FROM gtEvento as Eve
							JOIN gtEventoPersona as EPe
								ON EPe.ncEvento = Eve.ncEvento
							JOIN atPersona as Per
								ON Per.ncPersona = EPe.ncPersona";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "concat(cdEvento, ' ' , cNombre, ' ', cApellido)" );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray('Eve') );
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$this->oModule->setBack();
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_UNA_PERSONA_A_UN_EVENTO , $cParametroRegistro);
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncEvento=" . $aRow["ncEvento"] . "&amp;ncPersona=" . $aRow["ncPersona"];
			$this->addRowAction ( MODIFICAR_UNA_PERSONA_DE_UN_EVENTO , $cParametroRegistro );
			$this->addRowAction ( ELIMINAR_UNA_PERSONA_DE_UN_EVENTO , $cParametroRegistro);
		}
	}
?>
